1. Field of the Invention
The present invention generally relates to improved usage of a shared bus. More particularly, the preferred embodiments of the present invention relate to using cache memory to store ROM-based data usable by various computers and computer-related devices in a rack-mounted server system.
2. Background of the Invention
Many organizations have a computer network to provide their computing needs. A typical network includes two or more computers and computer-related devices (e.g., printers, storage devices, etc.) coupled together. Often, the organization's network may comprise numerous server computers coupled together. Generally, each server is loaded with an operating system and one or more applications that cause the server to perform various predetermined functions. An example of such a function includes responding to web page requests from a remote entity on the Internet. In response, the server may retrieve the requested web page and provide the requested page to the requesting entity. Further, all of the servers in the network may perform the same function thereby permitting the network to handle a large volume of traffic. The preceding example is provided simply to explain that groups of servers are often coupled together into a network, and should not be interpreted as in any way limiting the scope of this disclosure.
At least one server provider, Hewlett-Packard Corporation, provides server systems in rack form. That is, a plurality of servers and related devices (e.g., storage device, network ports, etc.) are individually mounted in a rack that can accommodate dozens of servers. Further, to maximize the number of servers that can be installed into the rack, each server preferably is made as small as possible. To that end, the servers do not include a display or keyboard. Rather, a user can interact with an individual server via a single display and input device (e.g., keyboard, mouse, etc.) combination that can be electrically coupled to any of the servers in the rack. Further, each server may not have an alternating current (“AC”)-to-direct current (“DC”) power supply. Instead, a separate AC-to-DC power supply is provided in the rack apart from, but coupled to, the servers. Multiple power supplies may be needed to accommodate the power demand for all of the servers and other devices in the rack. In this configuration, the power supply converts incoming AC voltage to DC voltage and provides DC voltage(s) to each server. The servers may include DC-to-DC converters to convert the incoming DC voltage from the power supply to a different DC voltage level as needed. The servers do not include the circuitry necessary to convert AC voltage to DC voltage and thus are smaller than they would be if they included AC-to-DC power supplies.
Moreover, a rack implementation such as that described above includes multiple servers coupled together and to other computer-related devices (e.g., storage devices) and to one or more power supplies. Many of Hewlett-Packard's server systems include the ability to install and remove any rack component (server, power supply, storage device) independent of the other components. In fact, many or all components can be installed and removed without powering down the rack (referred to as “hot plugging”). Thus, a server that has malfunctioned can be removed and replaced with a new server without having to turn off the other servers in the rack.
In systems such as that described above, each removable component preferably includes a field replaceable unit (“FRU”) data set stored in non-volatile memory in the component. The FRU data for each replaceable unit may include one or more parameters such as serial number, part name, manufacturing information, reorder information and physical dimensions. The FRU data may be stored in an electrically erasable programmable read only memory (“EEPROM”) and may be read by any other component in the rack. If a component in the rack malfunctions, an alert is sent out to the other components in the rack. In response, the other components may desire to read the failed component's FRU data so that the information ultimately can be provided to a network administrator and the defective component can be reordered and replaced.
A problem occurs as the number of components in the rack increases. In some rack systems, a relatively low speed management bus is included to interconnect the various components within the rack. Requests for FRU data and responses to such requests are routed over this management bus. If a component fails, all other rack components may send FRU data requests to the failed component over the low speed management bus. With a relatively few components in the rack, such a low volume of requests may be well within the capabilities of the management bus. However, as the number of components increases, the volume of FRU data requests may easily inundate the low speed management bus to the point where network performance is greatly reduced. Accordingly, a solution to this problem is needed.